package com.cqupt.pojo;

import org.apache.solr.client.solrj.beans.Field;

public class SearchInfo {
    @Field("id")
    private String id; // id 主键
    @Field("name_")
    private String knowledgeName; // 知识的名称
    @Field("label")
    private String knowledgeLabel; // 知识的标签
    @Field("type_")
    private String knowledgeType; // 知识的类型
    @Field("problem")
    private String problem; // 问题描述
    @Field("key_")
    private String knowledgeKeys; // 知识对应的关键词
    @Field("resolution")
    private String resolution; // 问题对应的解决方案
    @Field("approval")
    private String approval; // 知识是否被审批
    @Field("common_key")
    private String common_key; // 从多个知识中提出的共同的 key
    @Field("submit_user")
    private String submit_user; // 知识的提交者
    @Field("time")
    private String time; // 知识上传的事件
    @Field("approval_man")
    private String approval_man; // 知识由谁审批
    @Field("name_label_resolution")
    private String name_label_resolution; // 将知识的名字、标签、解决方案合并，便于检索

    public SearchInfo() {
    }

    /**
     * 知识的构造函数
     * @param id 知识的id
     * @param knowledgeName 知识的名称
     * @param knowledgeLabel 知识的标签
     * @param knowledgeType 知识所属的类型
     * @param problem 问题描述
     * @param knowledgeKeys 知识对应的key
     * @param resolution 问题对应的解决方案
     * @param approval 知识是否被审批
     * @param common_key 多个知识共同的key
     * @param submit_user 知识的提交者
     * @param time 知识的上传事件
     * @param approval_man 知识的审批人
     */
    public SearchInfo(String id, String knowledgeName, String knowledgeLabel, String knowledgeType, String problem, String knowledgeKeys, String resolution, String approval, String common_key, String submit_user, String time, String approval_man) {
        this.id = id;
        this.knowledgeName = knowledgeName;
        this.knowledgeLabel = knowledgeLabel;
        this.knowledgeType = knowledgeType;
        this.problem = problem;
        this.knowledgeKeys = knowledgeKeys;
        this.resolution = resolution;
        this.approval = approval;
        this.common_key = common_key;
        this.submit_user = submit_user;
        this.time = time;
        this.approval_man = approval_man;
    }

    /**
     * 获取知识对应的问题描述
     * @return 知识对应的问题描述
     */
    public String getProblem() {
        return problem;
    }

    /**
     * 设置知识对应的问题描述
     * @param problem 传入新的问题描述
     */
    public void setProblem(String problem) {
        this.problem = problem;
    }

    /**
     * 获取知识对应的审批人
     * @return 知识对应的审批人
     */
    public String getApproval_man() {
        return approval_man;
    }

    /**
     * 设置知识对应的审批人名称
     * @param approval_man 传入新的审批人名称
     */
    public void setApproval_man(String approval_man) {
        this.approval_man = approval_man;
    }

    /**
     * 获取知识对应的id主键
     * @return 知识对应的id主键
     */
    public String getId() {
        return id;
    }

    /**
     * 设置知识对应的id
     * @param id 传入新的id
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * 获取知识对应的名字
     * @return 知识对应的名字
     */
    public String getKnowledgeName() {
        return knowledgeName;
    }

    /**
     * 设置知识对应的名称
     * @param knowledgeName 传入新的名称
     */
    public void setKnowledgeName(String knowledgeName) {
        this.knowledgeName = knowledgeName;
    }

    /**
     * 获取知识对应的标签
     * @return 知识对应的标签
     */
    public String getKnowledgeLabel() {
        return knowledgeLabel;
    }

    /**
     * 设置知识对应的标签
     * @param knowledgeLabel 传入新的标签
     */
    public void setKnowledgeLabel(String knowledgeLabel) {
        this.knowledgeLabel = knowledgeLabel;
    }

    /**
     * 获取知识对应的类别
     * @return 知识对应的类别
     */
    public String getKnowledgeType() {
        return knowledgeType;
    }

    /**
     * 设置知识对应的类别
     * @param knowledgeType 传入新的类别
     */
    public void setKnowledgeType(String knowledgeType) {
        this.knowledgeType = knowledgeType;
    }

    /**
     * 获取知识对应的key
     * @return 知识对应的key
     */
    public String getKnowledgeKeys() {
        return knowledgeKeys;
    }

    /**
     * 设置知识对应的key
     * @param knowledgeKeys 传入新的key
     */
    public void setKnowledgeKeys(String knowledgeKeys) {
        this.knowledgeKeys = knowledgeKeys;
    }

    /**
     * 获取问题对应的解决方案
     * @return 问题对应的解决方案
     */
    public String getResolution() {
        return resolution;
    }

    /**
     * 设置知识对应的解决方案
     * @param resolution 传入新的解决方案
     */
    public void setResolution(String resolution) {
        this.resolution = resolution;
    }

    /**
     * 获取知识是否被审批
     * @return 知识是否被审批
     */
    public String getApproval() {
        return approval;
    }

    /**
     * 设置知识的审批状态
     * @param approval 代表是否已审批
     */
    public void setApproval(String approval) {
        this.approval = approval;
    }

    /**
     * 获取知识对应的共同key
     * @return 知识对应的共同key
     */
    public String getCommon_key() {
        return common_key;
    }

    /**
     * 设置知识的共同key
     * @param common_key 字符串key
     */
    public void setCommon_key(String common_key) {
        this.common_key = common_key;
    }

    /**
     * 获取知识对应的提交者
     * @return 知识对应的提交者
     */
    public String getSubmit_user() {
        return submit_user;
    }

    /**
     * 设置知识对应的提交者
     * @param submit_user 新的提交者
     */
    public void setSubmit_user(String submit_user) {
        this.submit_user = submit_user;
    }

    /**
     * 获取知识对应的提交事件
     * @return 知识对应的提交事件
     */
    public String getTime() {
        return time;
    }

    /**
     * 设置知识对应的提交事件
     * @param time 新的提交时间
     */
    public void setTime(String time) {
        this.time = time;
    }

    /**
     * 获取知识的联合字段
     * @return 知识的联合字段
     */
    public String getName_label_resolution() {
        return name_label_resolution;
    }

    /**
     * 设置知识对应的联合字段值
     * @param name_label_resolution 新的联合字段值
     */
    public void setName_label_resolution(String name_label_resolution) {
        this.name_label_resolution = name_label_resolution;
    }

    /**
     * 重写父类的方法，输出 SearchInfo 字符串表达
     * @return SearchInfo 字符串表达
     */
    @Override
    public String toString() {
        return "SearchInfo{" +
                "id='" + id + '\'' +
                ", knowledgeName='" + knowledgeName + '\'' +
                ", knowledgeLabel='" + knowledgeLabel + '\'' +
                ", knowledgeType='" + knowledgeType + '\'' +
                ", problem='" + problem + '\'' +
                ", knowledgeKeys='" + knowledgeKeys + '\'' +
                ", resolution='" + resolution + '\'' +
                ", approval='" + approval + '\'' +
                ", common_key='" + common_key + '\'' +
                ", submit_user='" + submit_user + '\'' +
                ", time='" + time + '\'' +
                ", approval_man='" + approval_man + '\'' +
                ", name_label_resolution='" + name_label_resolution + '\'' +
                '}';
    }
}
